﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using AccesoDatos.Manejador;
using AccesoDatos.Objetos;
using Conexion;
using System.Windows.Forms;


namespace Autorizacion_facturas_caja
{
    public partial class frmContrato_Vencimiento : Form
    {
        Manejador_Contrato_Vencimiento man = new Manejador_Contrato_Vencimiento();
        Manejador_Empleado_Captura Mane = new Manejador_Empleado_Captura();
        public objRH objeto = new objRH();
        objRH obj1 = new objRH();

        #region funciones
        public frmContrato_Vencimiento()
        {
            InitializeComponent();
            cmbTipo.SelectedText = "DEFINIDO";
            cmbVencimiento.SelectedText = "21 DÍAS";
            obtieneDatos();
            LlenarDataGrid();
            //btnInforme.Visible = false;
        }
        public void obtieneDatos() {
            cmbSucursal.DataSource = Mane.ObtieneSucursales();
            cmbSucursal.ValueMember = "SucId";
            cmbSucursal.DisplayMember = "Nombre";
        }

        //Obtiene los campos de los combobox 
        private void obtenercampos()
        {
            try
            {
                if (cmbVencimiento.SelectedItem.ToString() == "21 DÍAS") { objeto.Dia = 21; }
                if (cmbVencimiento.SelectedItem.ToString() == "14 DÍAS") { objeto.Dia = 14; }
                if (cmbVencimiento.SelectedItem.ToString() == "7 DÍAS") { objeto.Dia = 7; }
                objeto.Tipo = cmbTipo.SelectedItem.ToString();

                if (chkdTodas.Checked) objeto.SucId = "";
                else objeto.SucId = cmbSucursal.SelectedValue.ToString();
            }
            catch { }
        }
        private void ToolTip1()
        {
            ToolTip toolTip1 = new ToolTip();
            toolTip1.ShowAlways = true;
            toolTip1.SetToolTip(this.btnBuscar, "BUSCAR");
            toolTip1.SetToolTip(this.btnInforme, "GENERAR REPORTE");
        }

        private void frmVencimiento_Load(object sender, EventArgs e)
        {
            ToolTip1();
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (e.ColumnIndex != 0 && e.RowIndex >= 0)
                {
                    objeto.IdContrato = Convert.ToInt32(dataGridView1[0, e.RowIndex].Value);
                    objeto.Id_Empleado = Convert.ToInt32(dataGridView1[1, e.RowIndex].Value);
                    objeto.Tipo = dataGridView1[2, e.RowIndex].Value.ToString();
                    objeto.Fecha_Inicio = Convert.ToDateTime(dataGridView1[3, e.RowIndex].Value);
                    objeto.Fecha_Fin = Convert.ToDateTime(dataGridView1[4, e.RowIndex].Value); ;
                    objeto.Entregado = Convert.ToInt32(dataGridView1[5, e.RowIndex].Value);
                    objeto.Fisico = Convert.ToInt32(dataGridView1[6, e.RowIndex].Value);
                    objeto.Estatus = Convert.ToInt32(dataGridView1[7, e.RowIndex].Value);
                    objeto.IdSueldo = Convert.ToInt32(dataGridView1[8, e.RowIndex].Value);
                    objeto.Sueldo_Mensual = dataGridView1[10, e.RowIndex].Value.ToString();
                    objeto.Sueldo_Quincenal = dataGridView1[11, e.RowIndex].Value.ToString();
                    objeto.Fecha = Convert.ToDateTime(dataGridView1[12, e.RowIndex].Value);
                    objeto.Bono = dataGridView1[14, e.RowIndex].Value.ToString();
                    objeto.Salario_dia = dataGridView1[15, e.RowIndex].Value.ToString();
                    objeto.SucId = dataGridView1[17, e.RowIndex].Value.ToString();
                    objeto.IdJefe = Convert.ToInt32(dataGridView1[18, e.RowIndex].Value);
                    objeto.Nombre = dataGridView1[19, e.RowIndex].Value.ToString();
                    objeto.Apellidos = dataGridView1[20, e.RowIndex].Value.ToString();
                    objeto.Puesto = dataGridView1[21, e.RowIndex].Value.ToString();
                    objeto.FechaIngreso = Convert.ToDateTime(dataGridView1[22, e.RowIndex].Value);
                    objeto.Departamento = dataGridView1[23, e.RowIndex].Value.ToString();
                    objeto.Cuenta_Banco = dataGridView1[24, e.RowIndex].Value.ToString();
                    objeto.Nombre_empresa = dataGridView1[25, e.RowIndex].Value.ToString();
                    frmEmpleado_Captura cap = new frmEmpleado_Captura(objeto.Id_Empleado);
                    cap.ShowDialog();
                    dataGridView1.DataSource = man.ListaVencimiento(objeto.Dia, objeto.Tipo, objeto.SucId);
                    columnas();
                }
            }
            catch { }
        }
        //Propiedades de las columnas del datagrid
        private void columnas()
        {

            //QUITA LA PRIMERA COLUMNA
            this.dataGridView1.RowHeadersVisible = false;
            /*Esconde las columnas*/

            this.dataGridView1.Columns["id_contrato"].Visible = false;
            this.dataGridView1.Columns["id_empleado"].Visible = false;
            this.dataGridView1.Columns["id_sucursal"].Visible = false;
            this.dataGridView1.Columns["id_empleado1"].Visible = false;
            this.dataGridView1.Columns["id_empleado2"].Visible = false;
            this.dataGridView1.Columns["id_sueldo"].Visible = false;
            this.dataGridView1.Columns["estatus"].Visible = false;
            this.dataGridView1.Columns["estatus1"].Visible = false;
            this.dataGridView1.Columns["estatus2"].Visible = false;
            this.dataGridView1.Columns["departamento"].Visible = false;
            this.dataGridView1.Columns["bono"].Visible = false;
            this.dataGridView1.Columns["id_jefe"].Visible = false;
            this.dataGridView1.Columns["cuenta_banco"].Visible = false;
            this.dataGridView1.Columns["fecha"].Visible = false;
           // this.dataGridView1.Columns["fecha_ingreso"].Visible = false;
            this.dataGridView1.Columns["apellidos"].Visible = false;
            this.dataGridView1.Columns["nombre"].Visible = false;
            this.dataGridView1.Columns["entregado"].Visible = false;
            this.dataGridView1.Columns["fisico"].Visible = false;
            this.dataGridView1.Columns["sueldo_mensual"].Visible = false;
            this.dataGridView1.Columns["sueldo_quincenal"].Visible = false;
            this.dataGridView1.Columns["sueldo_diario"].Visible = false;
            this.dataGridView1.Columns["empresa"].Visible = false;
      
   
            this.dataGridView1.Columns["departamento"].Visible = false;
            //Renombra columnas
            this.dataGridView1.Columns["nombre_apellidos"].HeaderText = "EMPLEADO";
            this.dataGridView1.Columns["puesto"].HeaderText = "PUESTO";
            this.dataGridView1.Columns["fecha_ingreso"].HeaderText = "FECHA INGRESO";
            this.dataGridView1.Columns["sueldo_mensual"].HeaderText = "SUELDO MENSUAL";
            this.dataGridView1.Columns["sueldo_quincenal"].HeaderText = "SUELDO QUINCENAL";
            this.dataGridView1.Columns["tipo"].HeaderText = "TIPO CONTRATO";
            this.dataGridView1.Columns["fecha_inicio"].HeaderText = "INICIO CONTRATO";
            this.dataGridView1.Columns["fecha_fin"].HeaderText = "FIN CONTRATO";
            this.dataGridView1.Columns["entregado"].HeaderText = "ENTREGADO";
            this.dataGridView1.Columns["fisico"].HeaderText = "FISICO";
            this.dataGridView1.Columns["Nombre1"].HeaderText = "SUC.";

            //Acomoda las columnas
            this.dataGridView1.Columns["Nombre1"].DisplayIndex = 0;
            this.dataGridView1.Columns["nombre_apellidos"].DisplayIndex = 1;
            this.dataGridView1.Columns["puesto"].DisplayIndex = 2;
            this.dataGridView1.Columns["fecha_ingreso"].DisplayIndex = 3;
            this.dataGridView1.Columns["sueldo_mensual"].DisplayIndex = 4;
            this.dataGridView1.Columns["sueldo_quincenal"].DisplayIndex = 5;
            this.dataGridView1.Columns["tipo"].DisplayIndex = 6;
            this.dataGridView1.Columns["fecha_inicio"].DisplayIndex = 7;
            this.dataGridView1.Columns["fecha_fin"].DisplayIndex = 8;
            this.dataGridView1.Columns["entregado"].DisplayIndex = 9;
            this.dataGridView1.Columns["fisico"].DisplayIndex = 10;

            this.dataGridView1.Columns["nombre_apellidos"].Width = 250;
            this.dataGridView1.Columns["puesto"].Width = 250;
            this.dataGridView1.Columns["Nombre1"].Width = 50;
            //this.dataGridView1.Columns["nombre_apellidos"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["Nombre1"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            //this.dataGridView1.Columns["puesto"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["sueldo_mensual"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            this.dataGridView1.Columns["sueldo_quincenal"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            this.dataGridView1.Columns["tipo"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["fecha_inicio"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["fecha_fin"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["entregado"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dataGridView1.Columns["fisico"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
    
        }
        private void LlenarDataGrid() 
        {
            try
            {
                obtenercampos();
                dataGridView1.DataSource = man.ListaVencimiento(objeto.Dia, objeto.Tipo, objeto.SucId);
                columnas();
            }
            catch { }
        }
        #endregion
        //

        #region Boton
        private void btnBuscar_Click_1(object sender, EventArgs e)
        {  
            try
            {
                LlenarDataGrid();
                
            }
            catch { MessageBox.Show("FALTAN DATOS POR SELECCIONAR", "ALERTA"); }
        }
      
        //Genera el reporte 
        private void btnInforme_Click(object sender, EventArgs e)   
        {
            obtenercampos();
            DataTable datos = man.ListaVencimiento(objeto.Dia, objeto.Tipo, objeto.SucId);
            frmContrato_Vencimiento_Reporte rep = new frmContrato_Vencimiento_Reporte(datos, objeto.Dia.ToString());
            rep.ShowDialog();
            btnInforme.Visible = false;
        }
        #endregion

        #region eventos
        private void cmbVencimiento_SelectedIndexChanged(object sender, EventArgs e)
        {
            LlenarDataGrid();
        }

        private void cmbTipo_SelectedIndexChanged(object sender, EventArgs e)
        {
            LlenarDataGrid();
        }

        #endregion 

        private void chkdTodas_CheckedChanged(object sender, EventArgs e)
        {
            if (chkdTodas.Checked) cmbSucursal.Enabled = false;
            else cmbSucursal.Enabled = true;
            LlenarDataGrid();
        }

    }
}
